package mediawiki.request;
import java.io.ByteArrayInputStream;
import javat.xml.Document;
import mediawiki.MediaWikiConnection;
import mediawiki.MediaWikiPostRequest;
import mediawiki.MediaWikiRequest;
public class ParseTemplatesRequest extends MediaWikiRequest<Document> {
public ParseTemplatesRequest(String wikitext) {
setProperty("text", wikitext);
}
public ParseTemplatesRequest(String wikitext, String title) {
this(wikitext);
setProperty("title", title);
}
@Override
public Document request(MediaWikiConnection c) throws Exception {
MediaWikiPostRequest p = new MediaWikiPostRequest(c);
p.putData(getProperties());
p.putData("action", "expandtemplates");
p.putData("includecomments","0");
p.putData("prop","parsetree");
Document d = p.requestDocument();
String t = d.getRootElement().getChildren("expandtemplates").get(0).getChildren("parsetree").get(0).getText();
Document d2 = Document.load(new ByteArrayInputStream(t.getBytes()));
return d2;
}
}